Memory devices can include internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), static RAM (SRAM), synchronous dynamic RAM (SDRAM), and non-volatile memory.
Non-volatile memory devices (e.g., flash memory) have developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption. Common uses for flash memory include personal computers, personal digital assistants (PDAs), digital cameras, and cellular telephones. Program code and system data such as a basic input/output system (BIOS) are typically stored in flash memory devices for use in personal computer systems.
Non-volatile memory devices are also incorporated into solid state storage devices such as solid state drives. Solid state drives can be used in computers to replace the hard disk drives that typically have used magnetic or optical disks for storing large amounts of data. A solid state drive does not use moving parts whereas a hard disk drive requires a complex and sensitive drive and read/write head assembly to interact with the magnetic/optical disk. Thus, the solid state drives are more resistant to damage and loss of data through vibration and impacts.
One drawback to current solid state drive technology is achieving the memory density necessary to adequately and cost effectively replace a computer's hard disk drive. Most modern computers require the capability for storing very large amounts of data (e.g., 250 GB or more) due to digital images, movies, and audio files. Thus, an effective solid state drive should have a memory density approaching a typical hard drive, remain cost competitive, and still fit within the constantly decreasing thickness of a laptop computer, for example.
FIG. 1 illustrates one typical prior art solid state drive with four channels between a controller and the memory devices and no DRAM buffer. A memory communication channel 110 is comprised of the address, data, and control signal lines for a group of memory devices 101-104. In this example, each channel is coupled to four stacked memory devices 101-104 that is connected to the controller 100.
In order to increase the performance of solid state drives, DRAM has been incorporated into the drives. FIG. 2 illustrates a block diagram of a typical prior art solid state drive that incorporates a DRAM device 200 for storage of temporary data. The drive of FIG. 2 shows an eight channel controller 230 in which the eight channels 201-208 are each connected to four memory devices. The DRAM device 200 is connected to the controller 230 over dedicated data 220 and address/command 221 buses.
Since DRAM has an access time that is substantially less than non-volatile memory, the DRAM can be used to maintain translation tables and buffers that would normally be done by the slower non-volatile memory. However, the size of the DRAM is limited by the number of address and data lines available on the controller 230. Memory controllers, in order to save space on the controller, typically have a small quantity of address/data signal lines. Thus only a relatively low density DRAM can be connected to the controller. If the translation tables and other temporary data requiring DRAM requires more memory, the controller will use non-volatile memory. This impacts the performance of the solid state drive since the non-volatile memory tends to be slower in both reading and writing of data.
For the reasons stated above, and for other reasons stated below that will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a way to control both non-volatile and volatile memory in a solid state storage device while using larger volatile memory devices.